In many conventional data transmission channels, external influences (such as noise) can introduce errors into the data. Errors in reading or processing received data are often detected and/or corrected by encoding the user data with an error correction code (ECC) encoder, and then transmitting the encoded data. The encoded data often consists of the original user data and parity data produces by the ECC encoder. The user data is decoded at the receiving end via a decoder that includes an ECC decoder. One common system encodes the data and the ECC according to a Reed-Solomon code, and the number of corrections performed by the outer Reed-Solomon decoder can be monitored, thereby providing a useful parameter for gaining insight into data and/or channel reliability. Such systems are commonly used when reading a mass storage medium (e.g., a hard disk or optical disk).
However, transmitting ECC encoded data reduces the proportion of channel bandwidth dedicated to data transmission, thereby increasing overhead. To increase the gain, or to reduce the amount of ECC encoded data, an iterative encoding and decoding system (e.g., a “Reed-Solomon-less” coding system) has been introduced. Referring to FIG. 1, an iterative encoder 10 writes iteratively encoded data to hard disk 20, where the encoded data are stored.
The data stored on hard disk 20 are read by iterative decoder 30, which includes a channel detector 32 and a code decoder 34. The soft channel detector 32 may employ, for example, a soft output Viterbi algorithm (or other suitable soft channel detector such as BCJR detector) to enable correction of errors in the data read from the hard disk 20. The code decoder 34 feeds the decoding output back to channel detector 32 to improve the accuracy and/or reliability of the decoded data output from the iterative decoder 30.
In the past, one procedure for determining the reliability and/or predicting the drive performance of a storage channel employing a RS code with ECC relied primarily on the sector error rate (SER) or sector failure rate of the channel, for some small value of RS correction power T. The RS correction power T was determined experimentally, during testing of the storage channel. The drive was disqualified if SER(T)>SERqual, where SERqual was determined empirically. With the introduction of iterative coding solutions for reading and/or decoding data from certain data transmission channels, however, one or more useful parameters for determining the quality of the channel (i.e., the number of corrections performed by the outer Reed-Solomon decoder with appropriately adjusted correction power T) may not be available.